Help - slouceni dvou BMP
Otázka od: Petr SZNAPKA, Gradiva a.s.
27. 11. 2002 12:23
Potreboval bych najit reseni pro slouceni dvou BMP o velikostech např.
1800x1200 pixelů. V sekcenci se provadi slouceni cca 100 BMP.
Vstupni podminky :
1/ soubor je na lezato
2/ obrazky sloucit do jedne BMP oddelenymi cca 25 pixely
3/ obrazky mají uz stejnou vysku, ale mohou mit rozdilnou vysku
3/ jedna se o 24-bitove BMP
Zkousel jsem rezim přes canvas.strechdraw ale je to pomerne pomale.
Reseni prostrednictvim scanline mi nevyhovuje,protože musim druhou
bitmapu umistovat s urcitym posunem a to scanline nejde nebo jsem
nenasel.
Petr
Odpovedá: Delphin
27. 11. 2002 14:33
> Zkousel jsem rezim přes canvas.strechdraw ale je to pomerne pomale.
> Reseni prostrednictvim scanline mi nevyhovuje,protože musim druhou
> bitmapu umistovat s urcitym posunem a to scanline nejde nebo jsem
> nenasel.
Se scanline to jde nejak takto.
type
PBytes=^TBytes;
TBytes=array [0..1000] of byte;
move(SourceBMP.ScanLine[y]^,PBytes(DestBMP.ScanLine[y])^[posun],3*sirka);
Odpovedá: Peter Surovy
27. 11. 2002 15:38
Ahoj
----- Original Message -----
From: "Petr SZNAPKA, Gradiva a.s." <sznapka@gradiva.cz>
Sent: Wednesday, November 27, 2002 9:06 AM
> Zkousel jsem rezim přes canvas.strechdraw ale je to pomerne pomale.
> Reseni prostrednictvim scanline mi nevyhovuje,protože musim druhou
> bitmapu umistovat s urcitym posunem a to scanline nejde nebo jsem
> nenasel.
-- mozno som spravne nepochopil co sa pytas
ale nedalo by sa to tak ze vytvoris
novu bitmapu kde;
NovaBitmap.witdh:=Bitmapa1.width + Bitmapa2.width+25;
a potom do Canvasu tej novej cez
CopyRect nakopirujes staru jednu a potom druhu?
PS